package com.nuc.bigdata.feign;

import com.nuc.bigdata.feign.entity.PhotoNewsFeign;
import com.nuc.bigdata.feign.entity.PhotoShareMenuFeign;
import org.springframework.cloud.openfeign.FeignClient;
import org.springframework.web.bind.annotation.GetMapping;
import org.springframework.web.bind.annotation.PathVariable;

import java.util.ArrayList;

/**
 * 调用oa-photos服务的feign客户端
 * @author JackLuo
 * @date 2019/11/26
 */
@FeignClient("oa-photos")
public interface PhotoServiceFeign {

    /**
     * 查询所有的图片资讯菜单
     * @return 包含所有菜单项的ArrayList
     */
    @GetMapping("/oa-photos/menus")
    ArrayList<PhotoShareMenuFeign> listAllMenu();

    /**
     * 查询指定菜单下的所有图片资讯
     * @param menuId 菜单唯一标识
     * @return 指定菜单下的所有图片新闻
     */
    @GetMapping("/oa-photos/news/menu/{menuId}")
    ArrayList<PhotoNewsFeign> listNewsByMenuId(@PathVariable("menuId")String menuId);

    /**
     * 查询所有的图片新闻资讯
     * @return 包含所有图片新闻资讯feign的ArrayList
     */
    @GetMapping("/oa-photos/news")
    ArrayList<PhotoNewsFeign> listNews();

    /**
     * 根据指定图片资讯id查询一条图片资讯
     * @param pnId 图片资讯唯一标识
     * @return 指定的一条图片资讯
     */
    @GetMapping("/oa-photos/news/{pnId}")
    PhotoNewsFeign queryNews(@PathVariable("pnId")String pnId);
}
